#pragma once
#include "DataStructure/Common/Id.h"
#include "DataStructure/Common/Real.h"

SG_DATASTRUCTURE_POST_NAMESPACE_OPEN

struct BARForceData
{
    SG::DataStructure::Common::Id   m_eId      = 0;    /// Element identification number
    SG::DataStructure::Common::Real m_BM1A     = 0.0;  /// Bending moment end A plane 1
    SG::DataStructure::Common::Real m_BM2A     = 0.0;  /// Bending moment end A plane 2
    SG::DataStructure::Common::Real m_BM1B     = 0.0;  /// Bending moment end B plane 1
    SG::DataStructure::Common::Real m_BM2B     = 0.0;  /// Bending moment end B plane 2
    SG::DataStructure::Common::Real m_TS1      = 0.0;  /// Shear plane 1
    SG::DataStructure::Common::Real m_TS2      = 0.0;  /// Shear plane 2
    SG::DataStructure::Common::Real m_AF       = 0.0;  /// Axial Force
    SG::DataStructure::Common::Real m_TRQ      = 0.0;  /// Torque
    SG::DataStructure::Common::Id   m_domainId = 0;    /// Domain identifier
};

using WELDForceData      = BARForceData;

///< @brief 判断数据是否相等
DECLSPEC bool operator== (const BARForceData& val1, const BARForceData& val2);

///< @brief 排序使用
DECLSPEC bool operator< (const BARForceData& a, const BARForceData& b);

SG_DATASTRUCTURE_POST_NAMESPACE_CLOSE
